假設今天在 Remix IDE 直接照抄別人的 ERC20 合約程式碼,複製貼上,假裝合約內的幾個關鍵 functions 瞬間就寫完了。再來就 compile。Remix IDE 他是 browser-based compiler 的。按 Solidity Compiler 將合約變成 bytecode,部署到一個基本上可以想成是「假的以太坊」,也就是發交易不用送真金白銀的那種。這樣流程走完,發一些交易試試看,交易發送都成功,基本上就完成了。所以如果真的只使用 Remix IDE 部署合約,應該要很簡單沒錯。
Remix IDE 之所以存在的重點是,同學可以在不是測試網(testnet)也不是主網(mainnet)的環境下,練習撰寫合約、練習測試和部署合約。覺得 Remix 玩了幾次太無聊,就可以進階到 Testnet 測試網部署合約。玩測試網的同學,就會需要到某幾個水龍頭去領取測試代幣,像是 Goerli faucet 或 Sepolia faucet。每次部署合約都會需要發送交易,而發交易就會需要使用到這些測試網代幣,這樣交易才能發得出去。
目前為止都還沒講到,智能合約寫完,audit 審計繳完學費,很刺激的要準備部署到以太坊主網的話,可能需要想到整個以太坊 EVM 的事。合約變成 bytecode 部署到 EVM。而這個 Ethereum Virtual Machine (EVM),是否需要另外拉出一個專文區來了解我也不知道。可能一下子會變得太複雜先暫時擺著。
去逛這些測試網代幣水龍頭網站的時候要留意,網路閒逛的話很容易逛到假的網站。大半夜精神不好的狀態,不建議玩測試網甚至主網。其實這一點,在查詢任何一個與代幣或錢包或交易所有關的關鍵詞時,都要特別留意。假網站滿天飛,X 平台也非常多假人。LINE 群真的別加了。電話也別亂接。錢包需要好好管理。網站連結要看清楚,不能輕易點開連結。沒睡覺的同學,先補眠。隔天再繼續玩部署合約。
很多學智慧合約開發的人都是自學的。自學路線需要比較強的學習動機,以及比較高的自我效能感。通常也很會自我激勵自我期許,也很會自己給自己出作業練習。有些人自己學完還不累,要身旁的同學朋友也一起玩。有些還會發想一些小練習題給別人玩,或乾脆就開發一整個闖關練習平台給別人玩。
觀察很多一路上不放棄,甚至越學越有興趣的,有些是以前可能國小時期,或國中高中,就已經有自己學習某個東西成功過的經驗。比如說,有些人國小就已經自己每天下課就走到書店裡面,看一堆大人看的在講 C 語言的書,還是 Java 還是 JS 程式開發相關的資訊書籍。每天沒事背一堆語法和指令。回家除了玩遊戲之外,就是自己打這些指令,幾乎可說是打著玩的,接著就慢慢做一些小遊戲或是小網頁等等。一路玩到大學,就開始接案做一些 app、網站和系統等。原來小時候玩耍的活動,逐漸轉變成順便賺點零用錢的打工活動。而這些微小的持續累積的自學成功經驗,就能給現在人生階段走到今天的自己,擁有比一般人更多的自學的自信。